# -*- coding: utf-8 -*-
# 开发团队   ：Jimi
# 开发人员   ：莫天杨
# 开发时间   ：2022/11/29  21:04 
# 文件名称   ：bcc.PY
# 开发工具   ：PyCharm
import re


def bcc(dump):
    dump = dump.replace(" ", "")  # 自动去除dump的空格
    # 数据格式正则表达式
    pattern = r'^[0-9a-fA-F]+$'

    if not re.match(pattern, dump):
        result = "数据格式错误"
        return result
    # 步长是2，两个16进制未是一个字节
    for x in range(0, len(dump), 2):
        hex_str = int("0x" + dump[x:x + 2], 16)  # 把16进制转10进制
        # print(hex_str)
        if x:
            # 第一个
            res ^= hex_str
        else:
            res = hex_str ^ 0
    # print(hex(res))
    return hex(res).replace('0x', "").zfill(2).upper()
